#ifndef Belord_PTC_9000_H
#define Belord_PTC_9000_H

//创建于2023.12.20 自动生成
#include "qglobal.h"
#include <QStringListModel>
#include "QStandardItem"
#include "CANCard/GC/ECanVci.h"
#include "selffun.h"
class Belord_PTC_9000
{
public:
    static void EQ_0x18FFC13B(quint8 data[]);
    static void EQ_0x1801E0BF(quint8 data[]);
    static void EQ_0x1802E0BF(quint8 data[]);
    static void EQ_0x18FF46F4_ma_read(quint8 data[]);
    static void EQ_0x0C01BFE0_ma_read(quint8 data[]);
    static void EQ_0x0C02BFE0_ma_read(quint8 data[]);
    static void EQ_0x0C03BFE0_ma_read(quint8 data[]);
    static void EQ_0x18FF46F4_MA();
    static void EQ_0x0C01BFE0_MA();
    static void EQ_0x0C02BFE0_MA();
    static void EQ_0x0C03BFE0_MA();
    static void CAN_loss_rest(int count);
    static void rest_data_ma();  //控制参数复位
    static void rest_data_info();  //信息参数复位
    static void Fault_processing();  //故障处理
    static void EQ_runinfo();   //设备运行信息
};

typedef struct Belord_PTC_9000_INFO
{
    QString name= "9KWPTC加热器";
    quint8 TMS_WORK;
    quint8 TMS_DCH;
    quint8 WATER_MODE;
    float OUT_TEMP;
    float IN_TEMP;
    float TMS_KW;
    quint8 Fault_Data;
    float Fault_Level;
    float IGBT_A1;
    float IGBT_A2;
    float IGBT_A3;
    float IGBT_A4;
    float HIGH_V;
    float Power_V;
    float PCB_TEMP;
    float TEMP_IGBT;
    quint8 CTRL;
    quint8 PWM1;
    quint8 PWM2;
    quint8 PWM3;
    quint8 PWM4;
    float PTCHighVoltageOvervoltage;
    float PTCHighVoltageUndervoltage;
    float IGBTFault;
    float PTCOvercurrent;
    float WaterTemperatureSensorFault;
    float IGBTTemperatureSensorFault;
    float OutletTemperatureTooHigh;
    float IGBTTemperatureTooHigh;
    float CANCommunicationFault;
    float PTCHeatingElementShortCircuit;
    float PTCHeatingElementOpenCircuit;
    float WaterPumpFeedback;
    quint8 BMS_SET_read;
    quint8 UP_HV_read;
    quint8 Charge_State_read;
    quint8 BMS_DCH_read;
    quint16 BMS_HV_read;
    float TEMP_Target_read;
    quint8 Life_read;
    quint8 CANCRC_read;
    quint8 CAN_BIT_OUT1_read;
    quint8 CAN_OUT1_read;
    quint8 CAN_BIT_OUT2_read;
    quint8 CAN_OUT2_read;
    quint8 CAN_BIT_OUT3_read;
    quint8 CAN_OUT3_read;
    quint8 CAN_BIT_OUT4_read;
    quint8 CAN_OUT4_read;
    quint8 CAN_BIT_CTRL_read;
    quint8 CAN_CTRL_read;
    quint8 MA_BIT_ERR_Reset_read;
    quint8 MA_ERR_Reset_read;
    quint8 PC_CONTROL_read;
    quint8 MA_BIT_NOT_Allow_Fault_0_read;
    quint8 MA_BIT_NOT_Allow_Fault_1_read;
    quint8 MA_BIT_NOT_Allow_Fault_2_read;
    quint8 MA_BIT_NOT_Allow_Fault_3_read;
    quint8 MA_BIT_NOT_Allow_Fault_4_read;
    quint8 MA_BIT_NOT_Allow_Fault_5_read;
    quint8 MA_BIT_NOT_Allow_Fault_6_read;
    quint8 MA_BIT_NOT_Allow_Fault_7_read;
    QStringListModel FaultListModel; //故障列表
    QStringList FaultList; //故障列表
    quint8 CAN_count;   //计数器
    quint8 CAN_count_0x18FFC13B;
    quint8 CAN_count_0x1801E0BF;
    quint8 CAN_count_0x1802E0BF;
    quint8 CAN_count_0x18FF46F4_ma_read;
    quint8 CAN_count_0x0C01BFE0_ma_read;
    quint8 CAN_count_0x0C02BFE0_ma_read;
    quint8 CAN_count_0x0C03BFE0_ma_read;
}Belord_PTC_9000_INFO;
typedef struct Belord_PTC_9000_MA
{
    quint8 BMS_SET;
    quint8 UP_HV;
    quint8 Charge_State;
    quint8 BMS_DCH;
    quint16 BMS_HV;
    float TEMP_Target;
    quint8 Life;
    quint8 CANCRC;
    quint8 CAN_BIT_OUT1;
    quint8 CAN_OUT1;
    quint8 CAN_BIT_OUT2;
    quint8 CAN_OUT2;
    quint8 CAN_BIT_OUT3;
    quint8 CAN_OUT3;
    quint8 CAN_BIT_OUT4;
    quint8 CAN_OUT4;
    quint8 CAN_BIT_CTRL;
    quint8 CAN_CTRL;
    quint8 MA_BIT_ERR_Reset;
    quint8 MA_ERR_Reset;
    quint8 PC_CONTROL;
    quint32 Control_Password;
    quint8 MA_BIT_NOT_Allow_Fault_0;
    quint8 MA_BIT_NOT_Allow_Fault_1;
    quint8 MA_BIT_NOT_Allow_Fault_2;
    quint8 MA_BIT_NOT_Allow_Fault_3;
    quint8 MA_BIT_NOT_Allow_Fault_4;
    quint8 MA_BIT_NOT_Allow_Fault_5;
    quint8 MA_BIT_NOT_Allow_Fault_6;
    quint8 MA_BIT_NOT_Allow_Fault_7;
}Belord_PTC_9000_MA;
extern Belord_PTC_9000_INFO Belord_PTC_9000_info;
extern Belord_PTC_9000_MA Belord_PTC_9000_ma;
extern QStandardItemModel Belord_PTC_9000_mode_info;
extern CAN_OBJ Belord_PTC_9000_MA_18FF46F4;
extern CAN_OBJ Belord_PTC_9000_MA_0C01BFE0;
extern CAN_OBJ Belord_PTC_9000_MA_0C02BFE0;
extern CAN_OBJ Belord_PTC_9000_MA_0C03BFE0;
#endif
